mini.parse();

function GoodsTypeAttrHandler() {
};

GoodsTypeAttrHandler.instance = new GoodsTypeAttrHandler();

GoodsTypeAttrHandler.isQueryBtnExpended = false;

//获得全局的商品类型属性数据表格对象
GoodsTypeAttrHandler.goodsTypeAttrGrid = mini.get("goodsTypeAttrGrid");

//加载表格数据
GoodsTypeAttrHandler.goodsTypeAttrGrid.load({btaGtype: __bgtId});

//设置传递过来的商品类型id为默认值
mini.get("goodsTypeId").setValue(__bgtId);

/**
 * 根据用户权限展示功能按钮
 */
GoodsTypeAttrHandler.loadToolbar = function() {
	var array = new Array("type_attr_add", "type_attr_edit", "type_attr_del","type_attr_query","type_attr_refresh");
	var userArr = MiniuiTools.isHasPurview(array);
	for (var i = 0; i < userArr.length; i++) {
		mini.get(array[i]).setVisible(userArr[i]);
	}
};
GoodsTypeAttrHandler.loadToolbar();

/**
 * 弹出添加商品类型属性窗口
 */
GoodsTypeAttrHandler.addGoodsTypeAttr = function() {
	miniWin.afreshNewWin();
	miniWin.setParams(342, 349, "添加商品类型属性");
	miniWin.setOption("bodyStyle","padding:0px;");

	miniWin.load("goodsTypeAttrForm.jsp",function(){
		var iframe = miniWin.getIFrameEl();
        var data = {action: "new"};
        iframe.contentWindow.GoodsTypeAttrFormHandler.passData(data);
	},function(action){
		GoodsTypeAttrHandler.goodsTypeAttrGrid.reload();
	});
	
	miniWin.show();
};

/**
 * 弹出编辑商品类型属性窗口
 */
GoodsTypeAttrHandler.editGoodsTypeAttr = function() {
	var rowData = GoodsTypeAttrHandler.goodsTypeAttrGrid.getSelected();
	var rowsData = GoodsTypeAttrHandler.goodsTypeAttrGrid.getSelecteds();
	if(rowsData.length == 1){
		miniWin.afreshNewWin();
		miniWin.setParams(342, 349, "编辑商品类型属性[<font color='blue'>" + rowData.btaName + "</font>]");
		miniWin.setOption("bodyStyle","padding:0px;");
		
		miniWin.load("goodsTypeAttrForm.jsp",function(){
			var iframe = miniWin.getIFrameEl();
            var data = {action: "edit", btaId: rowData.btaId};
            iframe.contentWindow.GoodsTypeAttrFormHandler.passData(data);
		},function(action){
			GoodsTypeAttrHandler.goodsTypeAttrGrid.reload();
		});
		
		miniWin.show();
	}else if(rowsData.length > 1){
		MiniuiTools.miniWarning("系统提示","不能同时编辑多条资源！");
	}else{
		MiniuiTools.miniWarning("系统提示","请选择要编辑的资源！");
	}
	
};

/**
 * 更新商品类型属性状态
 */
GoodsTypeAttrHandler.updateBtaStateById = function() {
	if (!MiniuiTools.hasPurview("type_attr_edit")) {
		return;
	}
	
	var rowData = GoodsTypeAttrHandler.goodsTypeAttrGrid.getSelected();
	var btaId = rowData.btaId;	
	GoodsTypeAttrHandler.goodsTypeAttrGrid.loading();
	
    $.ajax({
        url: __root + "/updateBtaStateById.do",
        data: {
        	btaId: btaId,
        	lslUser: gbOperateUser,
    		lslAddress: gbOperateIp
        },
        success: function (text) {
            GoodsTypeAttrHandler.goodsTypeAttrGrid.reload();
        },
        error: function (jqXHR, textStatus, errorThrown) {
        	MiniuiTools.miniError("系统提示","操作失败！" + jqXHR.responseText);
        },
        complete: function(e){
        	GoodsTypeAttrHandler.goodsTypeAttrGrid.unmask();
        }
    });	
};

/**
 * 删除商品类型属性处理程序
 */
GoodsTypeAttrHandler.delGoodsTypeAttr = function(){
	var rowsData = GoodsTypeAttrHandler.goodsTypeAttrGrid.getSelecteds();
	
	if(rowsData.length > 0){
		var isUsed = false;
		for (var i = 0; i < rowsData.length; i++){
			if(rowsData[i].btaState == 1){
				isUsed = true;
				break;
			}
		}
		
		// 判断是否有不符合删除条件的属性记录。
		if(isUsed){
			MiniuiTools.miniWarning("系统提示", "请选择无效的属性记录，并重试！");
			return;	
		}
					
		mini.confirm("确认删除选择的" + rowsData.length + "条记录？" ,"系统提示",
			function(action, value){
				if (action == "ok") {
					var ids = "";
					for (var j = 0; j < rowsData.length - 1; j++){
						ids += rowsData[j].btaId+ ",";
					}
					ids += rowsData[rowsData.length - 1].btaId;
					
					// 判断选择的类型分类下是否拥有分类属性列表，如果有则不能执行删除。
					if(GoodsTypeAttrHandler.getBgaByBta(ids)){
						MiniuiTools.miniWarning("系统提示", "选择的记录存在分类属性关联，请检查后重试！");
						return;	
					}
					
					GoodsTypeAttrHandler.goodsTypeAttrGrid.loading();
                    $.ajax({
                        url: __root + "/delGoodsTypeAttrByIds.do",
                        data: {
				        	btaIds: ids,
				        	lslUser: gbOperateUser,
				    		lslAddress: gbOperateIp
				        },
                        success: function (text) {
                            MiniuiTools.miniInfo("系统提示","操作成功！", function(action){
				        		GoodsTypeAttrHandler.goodsTypeAttrGrid.reload();
				        	});
                        },
                        error: function (jqXHR, textStatus, errorThrown) {
        					MiniuiTools.miniError("系统提示","操作失败！" + jqXHR.responseText);
                        },
                        complete: function(e){
                        	GoodsTypeAttrHandler.goodsTypeAttrGrid.unmask();
                        }
                    });	
                } 
			}
		)
	}else{
		 MiniuiTools.miniWarning("系统提示","请选择要删除的资源！");
	}
}

/**
 * 检验类型属性下是否分类属性列表，如果有则不可执行删除操作。
 * @param {} btaIds
 * @return {}
 */
GoodsTypeAttrHandler.getBgaByBta = function(btaIds){
	var isUsed = false;
	
	$.ajax({
        url: __root + "/getBgaByBta.do?btaIds=" + btaIds,
        dataType: 'json',
        async: false,   // 同步执行，默认为true
        success: function (text) {
        	if(text == "1"){
        		isUsed = true;
        	}
        },
        error: function (jqXHR, textStatus, errorThrown) {
        	MiniuiTools.miniError("系统提示", "操作失败！" + jqXHR.responseText);
        }
    });
    
    return isUsed;
}

/**
 * 展开或折叠查询商品类型属性面板
 */
GoodsTypeAttrHandler.queryGoodsTypeAttr = function() {
	if (GoodsTypeAttrHandler.isQueryBtnExpended) {
		GoodsTypeAttrHandler.isQueryBtnExpended = false;
		mini.get("type_attr_query").setText("展开查询");
		mini.get("type_attr_query").setIconCls("icon-btn-expand");
	} else {
		GoodsTypeAttrHandler.isQueryBtnExpended = true;
		mini.get("type_attr_query").setText("折叠查询");
		mini.get("type_attr_query").setIconCls("icon-btn-collapse");
	}
	
	$("#queryGoodsTypeAttrDiv").toggle(500);
    setTimeout(function(){mini.get("goodsTypeAttrPanel").doLayout();},600);
};

/**
 * 执行查询商品类型属性的方法
 */
GoodsTypeAttrHandler.doQueryGoodsTypeAttr = function(){
	var btaGtype = mini.get("goodsTypeId").getValue();
    GoodsTypeAttrHandler.goodsTypeAttrGrid.load({btaGtype: btaGtype});
    
};

/**
 * 刷新页面数据及布局
 */
GoodsTypeAttrHandler.afresh = function(){
	GoodsTypeAttrHandler.doQueryGoodsTypeAttr();
	mini.get("goodsTypeAttrPanel").doLayout();
}

/**
 * 返回商品类型列表
 */
GoodsTypeAttrHandler.returnGoodsTypeList = function(){
	window.location.href = "goodsType.jsp";
}

/**
 * DrawCell 绘制单元格
 */
GoodsTypeAttrHandler.goodsTypeAttrGrid.on("drawcell", function(e) {
	 var record = e.record;
     var column = e.column;
     var field = e.field;
     var value = e.value;
     
     if (column.field == "btaMode") {
        if (e.value == 0) {
            e.cellHtml = "<span>文本框</span>";                    
        } else if (e.value == 1){
            e.cellHtml = "<span>文本域</span>";
        }else {
        	e.cellHtml = "<span>从列表中选择</span>";
        }
    }

     if (column.field == "btaState") {
        if (e.value == 1) {
            e.cellHtml = "<span class='icon-show-yes' style='cursor: pointer;' onclick='GoodsTypeAttrHandler.updateBtaStateById()'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>";                    
        } else {
            e.cellHtml = "<span class='icon-show-no' style='cursor: pointer;' onclick='GoodsTypeAttrHandler.updateBtaStateById()'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>";
        }
    }
});

